SMI: String Manipulation Interface

Instructions: (** = May invoke an exception, ?=optional argument)
	LSR [A,B] (**) (id=5020)
		Loads a string (A) and creates a register in which the string is loaded into.
		
		Arguments:
			A: A valid register alias OR register number.
			B: A string
	LBSR [A,B] (**) (id=5021)
		Loads a blank string of length A into reigster B.
		
		Arguments:
			A: An valid short/int/long, that MUST be 0 or higher.
			B: A valid register alias OR register number.
	SLEN [A,B] (**) (id=5022)
		Fetches the length of a string and copies in to a register.
		
		Arguments:
			A: A register that is a string type.
			B: A valid register alias OR register number.
	CCAT [A,B,?C] (**)
		Combines two strings together.
	
		If C is present:
			Equivalent to C = A + B
		ELSE:
			Equivalent to A = A + B
		
		Arguments:
			A: A register that is a string type.
			B: A register that is a string type.
		